From 11cc71f463b907b8dbbffbd835473f1c1ba26f1f Mon Sep 17 00:00:00 2001 From: Anthony PERARD Date: Thu, 27 Feb 2020 15:47:23 +0100 Subject: [PATCH] build: fix section-renaming of libfdt and libelf In common/libelf/Makefile, when SECTIONS gets defined SPECIAL_DATA_SECTIONS doesn't exist, so only "text data" sections are been renamed. This was different before 48115d14743e ("Move more kernel decompression bits to .init.* sections"). By introducing the same renaming mechanism the to libfdt (9ba1f198f61e ["xen/libfdt: Put all libfdt in init"]), the issue was extended to there as well. Move SPECIAL_DATA_SECTIONS in Rules.mk before including "Makefile" to fix this. Signed-off-by: Anthony PERARD Reviewed-by: Jan Beulich --- xen/Rules.mk | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/xen/Rules.mk b/xen/Rules.mk index 154269bfd9..c7a067d254 100644 --- a/xen/Rules.mk +++ b/xen/Rules.mk @@ -92,6 +92,12 @@ LDFLAGS += $(LDFLAGS_DIRECT) LDFLAGS += $(LDFLAGS-y) +SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \ + $(foreach w,1 2 4, \ + rodata.str$(w).$(a)) \ + rodata.cst$(a)) \ + $(foreach r,rel rel.ro,data.$(r).local) + include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk DEPS = .*.d @@ -206,12 +212,6 @@ endif %.o: %.S Makefile $(CC) $(AFLAGS) -c $< -o $@ -SPECIAL_DATA_SECTIONS := rodata $(foreach a,1 2 4 8 16, \ - $(foreach w,1 2 4, \ - rodata.str$(w).$(a)) \ - rodata.cst$(a)) \ - $(foreach r,rel rel.ro,data.$(r).local) - $(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): %.init.o: %.o Makefile $(OBJDUMP) -h $< | sed -n '/[0-9]/{s,00*,0,g;p;}' | while read idx name sz rest; do \ case "$$name" in \ -- 2.30.2